#include "StdAfx.h"
#include "Setup.h"



class SCRIPT_DECL Coin : public GossipScript
{
public:
void GossipHello(Object * pObject, Player* Plr, bool AutoSend);
void GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code);
void GossipEnd(Object * pObject, Player* Plr);
void Destroy()
{
delete this;
}
};
void Coin::GossipHello(Object * pObject, Player* Plr, bool AutoSend)
{
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(5, "Weapon Scraps", 20);
Menu->AddItem(1, "Weapon Forge", 1);
if( Plr->GetItemInterface()->GetItemCount(400009, false) == 1 )
{Menu->AddItem(3, "Weapon Upgrades", 3);}
Menu->AddItem(2, "Armor Smith", 2);
if( Plr->GetItemInterface()->GetItemCount(400010, false) == 1 )
{Menu->AddItem(4, "Armor Upgrades", 4);}
Menu->AddItem(6, "Armor Scraps", 21);
if( Plr->GetItemInterface()->GetItemCount(400008, false) == 1 )
{Menu->AddItem(6, "Exchange", 500);}

if(AutoSend)
Menu->SendTo(Plr);
}

void Coin::GossipSelectOption(Object * pObject, Player* Plr, uint32 Id, uint32 IntId, const char * Code)
{
Creature * pCreature = (pObject->GetTypeId()==TYPEID_UNIT)?((Creature*)pObject):NULL;
if(pCreature==NULL)
return;

GossipMenu * Menu;
switch(IntId)
{
case 0:
GossipHello(pObject, Plr, true);
break;
	      


case 20:   //Weapon Scraps
          { 
          	objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Convert Rusted Weapon Scraps", 22);
            Menu->AddItem(5, "Convert Soft Weapon Scraps", 23);
            Menu->AddItem(5, "Convert Hardened Weapon Scraps", 24);
            Menu->AddItem(10, "[Main Menu]", 99);
            Menu->SendTo(Plr);
          }
          break;



case 22:   //Rusted Weapon Scraps
         
            
            {
            	objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "25 Rusted Weapon Scraps for 5 Soft Weapon Scraps", 200);
            Menu->AddItem(10, "[Main Menu]", 99);
            Menu->SendTo(Plr);
          }
          break;



case 200:   //Rusted Weapon Scraps
        {
        	if(Plr->GetItemInterface()->GetItemCount(400000, false)>=25)
        Plr->GetItemInterface()->RemoveItemAmt(400000, 25);
	Item * pItem1 = objmgr.CreateItem(400001,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 5); 
          }
          break;


case 23:   //Soft Weapon Scraps

            
            {
            	objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "25 Soft Weapon Scraps for 5 Hardened Weapon Scraps", 201);
            Menu->AddItem(10, "[Main Menu]", 99);
            Menu->SendTo(Plr);
          }
          break;

case 201:  //Soft Weapon Scraps
       { 
       	if(Plr->GetItemInterface()->GetItemCount(400001, false)>=25)
        Plr->GetItemInterface()->RemoveItemAmt(400001, 25);
	Item * pItem1 = objmgr.CreateItem(400002,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 5); 
          }
          break;

case 24:   //Hardened Weapon Scraps

            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "50 Hardened Scraps Weapon Token", 202);
            Menu->AddItem(10, "[Main Menu]", 99);
            Menu->SendTo(Plr);
          }
            break;

case 202:  //Hardened Weapon Scraps
        {
        if(Plr->GetItemInterface()->GetItemCount(400002, false)>=50)
        Plr->GetItemInterface()->RemoveItemAmt(400002, 50);
	Item * pItem1 = objmgr.CreateItem(400003,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1);             
	  }
	  break;

case 21:   //Weapon Scraps
           {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Convert Broken Weapon Scraps", 25);
            Menu->AddItem(5, "Convert Weak Weapon Scraps", 26);
            Menu->AddItem(5, "Convert Perfect Weapon Scraps", 27);
            Menu->AddItem(10, "[Main Menu]", 99);
            Menu->SendTo(Plr);
           }
            break;


case 25:   //Broken Armor Scraps

          {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "25 Broken Armor Scraps for 5 Weak Armor Scraps", 203);
            Menu->AddItem(10, "[Main Menu]", 99);
           }
            break;


case 203:  //Broken Armor Scraps
        {
        if(Plr->GetItemInterface()->GetItemCount(400004, false)>=25)
        Plr->GetItemInterface()->RemoveItemAmt(400004, 25);
	Item * pItem1 = objmgr.CreateItem(400005,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 5); 
        }
            break;

case 26:   //Weak Armor Scraps

            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "25 Weak Armor Scraps for 5 Perfect Armor Scraps", 204);
            Menu->AddItem(10, "[Main Menu]", 99);
             }
            break;



case 204:  //Weak Armor Scraps
   {    
 	 if(Plr->GetItemInterface()->GetItemCount(400005, false)>=25)
        Plr->GetItemInterface()->RemoveItemAmt(400005, 25);
	Item * pItem1 = objmgr.CreateItem(400006,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
        pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 5); 
	  }
	    break;

case 27:   //Perfect Armor Scraps

         {   
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "50 Hardened Scraps Weapon Token", 205);
            Menu->AddItem(10, "[Main Menu]", 99);
      }
            break;


case 205:  //Perfect Armor Scraps
        {
        if(Plr->GetItemInterface()->GetItemCount(400006, false)>=50)
        Plr->GetItemInterface()->RemoveItemAmt(400006, 50);
	Item * pItem1 = objmgr.CreateItem(400007,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;



case 1:   //Weapon Forge
          {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            if(Plr->getClass()== 3||Plr->getClass()== 8||Plr->getClass()== 4||Plr->getClass()== 2||Plr->getClass()== 9||Plr->getClass()== 1)
            {Menu->AddItem(5, "Sword Smith", 5);}
            if(Plr->getClass()== 3||Plr->getClass()== 2||Plr->getClass()== 1)
	    {Menu->AddItem(5, "Polearm Crafter", 6);}
            if(Plr->getClass()== 3||Plr->getClass()== 2||Plr->getClass()== 1||Plr->getClass()== 7)
	    {Menu->AddItem(5, "Axe Maker", 7);}
	    if(Plr->getClass()== 2||Plr->getClass()== 1||Plr->getClass()== 7||Plr->getClass()== 11||Plr->getClass()== 4||Plr->getClass()== 5)
            {Menu->AddItem(5, "Mace Builder", 8);}
 	    if(Plr->getClass()== 3||Plr->getClass()== 1||Plr->getClass()== 5||Plr->getClass()== 8||Plr->getClass()== 9||Plr->getClass()== 11)
            {Menu->AddItem(5, "Staff Carver", 9);}
	    if(Plr->getClass()== 3||Plr->getClass()== 1||Plr->getClass()== 4)
            {Menu->AddItem(5, "Bow and Gun Engineer", 10);}
	    if(Plr->getClass()== 5||Plr->getClass()== 8||Plr->getClass()== 9)
            {Menu->AddItem(5, "Wand Assembler", 11);}
            if(Plr->getClass()== 1||Plr->getClass()== 3||Plr->getClass()== 4||Plr->getClass()== 7)
            {Menu->AddItem(5, "Fist Constructor", 12);}
 	    if(Plr->getClass()== 1||Plr->getClass()== 3||Plr->getClass()== 4||Plr->getClass()== 7||Plr->getClass()== 8||Plr->getClass()== 9)
            {Menu->AddItem(5, "Dagger Creator", 13);}
	    if(Plr->getClass()== 3||Plr->getClass()== 1||Plr->getClass()== 4)
            {Menu->AddItem(5, "Crossbow Organizer", 14);}
	    if(Plr->getClass()== 3||Plr->getClass()== 1||Plr->getClass()== 4)
            {Menu->AddItem(5, "Thrown Arranger", 15);}
	    Menu->AddItem(10, "[Main Menu]", 99);
            Menu->SendTo(Plr);
          }
            break;

case 5:   //Sword Smith
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Avon The Burner", 50);
            Menu->AddItem(5, "Rux, The Terrible", 51);
            Menu->AddItem(5, "Za'roc", 52);
            Menu->AddItem(5, "Vulrais", 53);
            Menu->AddItem(5, "Taeshalach", 54);
            Menu->AddItem(5, "Quel'Zardarr", 55);
            Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;



case 50:  //Avon The Burner
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400011,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;

case 51:  //Rux, The Terrible
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400012,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 52:  //Za'roc
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400013,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;

case 53:  //Vulrais
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400014,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;


case 54:  //Taeshalach
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400015,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;


case 55:  //Quel'Zardarr
      {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400016,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;



case 6:   //Polearm Crafter
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Shinikoruu", 56);
            Menu->AddItem(5, "Magoth, Halberd of Hell", 57);
            Menu->AddItem(5, "Corrupted Lance", 58);
            Menu->AddItem(5, "Lin'rah, Keeper of Souls", 59);
            Menu->AddItem(5, "Runic Halberd", 60);
            Menu->AddItem(5, "Lance of K'tari", 61);
            Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;

case 56:  //Shinikoruu
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400035,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;

case 57:  //Magoth, Halberd of Hell
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400036,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;

case 58:  //Corrupted Lance
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400037,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;

case 59:  //Lin'rah, Keeper of Souls
       {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400038,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
      }
            break;

case 60:  //Runic Halberd
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400039,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 61:  //Lance of K'tari
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400040,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;


case 7:   //Axe Maker
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Edge of the Sin'Dorei", 62);
            Menu->AddItem(5, "Axe Of The Highelves", 63);
            Menu->AddItem(5, "Faith, Champion's Fury", 64);
            Menu->AddItem(5, "Earthfire", 65);
            Menu->AddItem(5, "Verdammnis", 66);
            Menu->AddItem(5, "Bladestorm", 67);
            Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;



case 62:  //Edge of the Sin'Dorei
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400041,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;
           
case 63:  //Axe Of The Highelfs
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400042,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 64:  //Faith, Champion's Fury
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400043,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;


case 65:  //Earthfire
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400044,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
        }
            break;

case 66:  //Verdammnis
        {
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400045,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
}
            break;

case 67:  //Bladestorm
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400046,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 8:   //Mace Builder
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Endless Pain", 68);
            Menu->AddItem(5, "Rising Pain", 69);
            Menu->AddItem(5, "Plunder, Hammer of Desolation", 70);
            Menu->AddItem(5, "Bane of Sargeras", 71);
            Menu->AddItem(5, "Maul of Bane", 72);
            Menu->AddItem(5, "Might of Sji'saan", 73);           
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;

case 68:  //Endless Pain
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400047,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 69:  //Rising Pain
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400049,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 70:  //Plunder, Hammer of Desolation
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400050,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 71:  //Bane of Sargeras
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400051,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 72:  //Maul of Bane
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400048,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;



case 73:  //Might of Sji'saan
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400052,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 9:   //Staff Carver
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Scepter of Anmire", 74);
            Menu->AddItem(5, "Deaths Reaper", 75);
            Menu->AddItem(5, "Devald's Frozen Tear", 76);
            Menu->AddItem(5, "Zyrux, The Doombringer", 77);
            Menu->AddItem(5, "Staff of Kranygos", 78);
            Menu->AddItem(5, "Apostasy of Divination", 79);           
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;

case 74:  //Scepter of Anmire
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400053,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 75:  //Deaths Reaper
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400054,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 76:  //Devald's Frozen Tear
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400055,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 77:  //Zyrux, The Doombringer
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400056,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 78:  //Staff of Kranygos
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400057,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 79:  //Apostasy of Divination
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400058,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 10:   //Bow and Gun Engineer
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "[Bows]", 0);
            Menu->AddItem(5, "Tear of Robinhood", 80);
            Menu->AddItem(5, "The Magestic Eagle", 81);
            Menu->AddItem(5, "[Guns]", 0);
            Menu->AddItem(5, "Dwarven Avenger", 82);
            Menu->AddItem(5, "The Inquisitor", 83);           
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;


case 80:  //Tear of Robinhood
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400059,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 81:  //The Magestic Eagle
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400060,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 82:  //Dwarven Avenger
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400061,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 83:  //The Inquisitor
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400062,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 11:   //Wand Assembler
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "The Mystic Wonder", 84);
            Menu->AddItem(5, "Elemental Despair", 85);           
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;



case 84:  //The Mystic Wonder
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400063,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 85:  //Elemental Despair
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400064,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;



case 12:   //Fist Constructor
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Fist Of Pure Death", 86);
            Menu->AddItem(5, "Claw of Primal Strength", 87);
            Menu->AddItem(5, "Palm of the Wise", 88);
            Menu->AddItem(5, "Mold of Zeus's Fist", 89);
            Menu->AddItem(5, "The Mark of The Arena", 90);
            Menu->AddItem(5, "The Forcive Induction", 91);           
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;

case 86:  //Fist Of Pure Death
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400065,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 87:  //Claw of Primal Strength
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400066,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 88:  //Palm of the Wise
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400067,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 89:  //Mold of Zeus's Fist
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400068,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 90:  //The Mark of The Arena
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400069,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 91:  //The Forcive Induction
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400070,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;




case 13:   //Dagger Creator
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "The Fleshshaper", 92);
            Menu->AddItem(5, "Bloodluster's Mutilator", 93);
            Menu->AddItem(5, "Devourer Of Dreams", 94);
            Menu->AddItem(5, "Arcane Mutilator", 95);
            Menu->AddItem(5, "The Mark of The Arena", 96);
            Menu->AddItem(5, "Plagued Shadow", 97);           
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;


case 92:  //The Fleshshaper
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400071,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 93:  //Bloodluster's Mutilator
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400072,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 94:  //Devourer Of Dreams
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400073,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 95:  //Arcane Mutilator
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400074,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;


case 96:  //The Soulblade
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400075,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 97:  //Plagued Shadow
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400076,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 14:   //Crossbow Organizer
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Medieval Trump", 98);
            Menu->AddItem(5, "Concussive Infliction", 100);          
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;

case 98:  //Medieval Trump
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400077,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 100:  //Concussive Infliction
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400078,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 15:   //Thrown Arranger
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            Menu->AddItem(5, "Throat Piercers", 101);
            Menu->AddItem(5, "Bladed Sliver of Silence", 102);          
	    Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;


case 101:  //Throat Piercers
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400079,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 102:  //Bladed Sliver of Silence
{
        if(Plr->GetItemInterface()->GetItemCount(400003, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400003, 1);
	Item * pItem1 = objmgr.CreateItem(400080,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;



case 3: //Weapon Upgrades
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            if(Plr->getClass()== 3||Plr->getClass()== 8||Plr->getClass()== 4||Plr->getClass()== 2||Plr->getClass()== 9||Plr->getClass()== 1)
            {Menu->AddItem(5, "Sword Upgrades", 600);}
            if(Plr->getClass()== 3||Plr->getClass()== 2||Plr->getClass()== 1)
            {Menu->AddItem(5, "Polearm Upgrades", 601);}  
            if(Plr->getClass()== 3||Plr->getClass()== 2||Plr->getClass()== 1||Plr->getClass()== 7)
            {Menu->AddItem(5, "Axe Upgrades", 602);}
            if(Plr->getClass()== 2||Plr->getClass()== 1||Plr->getClass()== 7||Plr->getClass()== 11||Plr->getClass()== 4||Plr->getClass()== 5)
            {Menu->AddItem(5, "Mace", 603);}  
            if(Plr->getClass()== 3||Plr->getClass()== 1||Plr->getClass()== 4)
            {Menu->AddItem(5, "Bows, Guns, and Crossbow Upgrades", 102);}  
            if(Plr->getClass()== 5||Plr->getClass()== 8||Plr->getClass()== 9)
            {Menu->AddItem(5, "Wand Upgrades", 604);}
            if(Plr->getClass()== 1||Plr->getClass()== 3||Plr->getClass()== 4||Plr->getClass()== 7)
            {Menu->AddItem(5, "Fist Upgrades", 605);}
            if(Plr->getClass()== 1||Plr->getClass()== 3||Plr->getClass()== 4||Plr->getClass()== 7||Plr->getClass()== 8||Plr->getClass()== 9)
            {Menu->AddItem(5, "Dagger Upgrades", 607);}
            if(Plr->getClass()== 3||Plr->getClass()== 1||Plr->getClass()== 4)
            {Menu->AddItem(5, "Thrown Upgrades", 608);}
	          Menu->AddItem(10, "[Main Menu]", 99);
          }
            break;




case 600:   //Sword Upgrades
            {
            objmgr.CreateGossipMenuForPlayer(&Menu, pCreature->GetGUID(), 1, Plr);
            if( Plr->GetItemInterface()->GetItemCount(400011, false) == 1 )
            {Menu->AddItem(5, "Avon The, Burner V1", 400);}
            if( Plr->GetItemInterface()->GetItemCount(400012, false) == 1 )
            {Menu->AddItem(5, "Rux, The Terrible V1", 401);}
            if( Plr->GetItemInterface()->GetItemCount(400013, false) == 1 )
            {Menu->AddItem(5, "Za'roc V1", 402);}
            if( Plr->GetItemInterface()->GetItemCount(400014, false) == 1 )
            {Menu->AddItem(5, "Vulrais V1", 403);}
            if( Plr->GetItemInterface()->GetItemCount(400015, false) == 1 )
            {Menu->AddItem(5, "Taeshalach V1", 404);}
            if( Plr->GetItemInterface()->GetItemCount(400016, false) == 1 )
            {Menu->AddItem(5, "Quel'Zardarr V1", 405);}
            if( Plr->GetItemInterface()->GetItemCount(400017, false) == 1 )
            {Menu->AddItem(5, "Avon The, Burner V2", 406);}
            if( Plr->GetItemInterface()->GetItemCount(400018, false) == 1 )
            {Menu->AddItem(5, "Rux, The Terrible V2", 407);}
            if( Plr->GetItemInterface()->GetItemCount(400019, false) == 1 )
            {Menu->AddItem(5, "Za'roc V2", 408);}
            if( Plr->GetItemInterface()->GetItemCount(400020, false) == 1 )
            {Menu->AddItem(5, "Vulrais V2", 409);}
            if( Plr->GetItemInterface()->GetItemCount(400021, false) == 1 )
            {Menu->AddItem(5, "Taeshalach V2", 410);}
            if( Plr->GetItemInterface()->GetItemCount(400022, false) == 1 )
            {Menu->AddItem(5, "Quel'Zardarr V2", 411);}
            if( Plr->GetItemInterface()->GetItemCount(400023, false) == 1 )
            {Menu->AddItem(5, "Avon The, Burner V3", 412);}
            if( Plr->GetItemInterface()->GetItemCount(400024, false) == 1 )
            {Menu->AddItem(5, "Rux, The Terrible V3", 413);}
            if( Plr->GetItemInterface()->GetItemCount(400025, false) == 1 )
            {Menu->AddItem(5, "Za'roc V3", 414);}
            if( Plr->GetItemInterface()->GetItemCount(400026, false) == 1 )
            {Menu->AddItem(5, "Vulrais V3", 415);}
            if( Plr->GetItemInterface()->GetItemCount(400027, false) == 1 )
            {Menu->AddItem(5, "Taeshalach V3", 416);}
            if( Plr->GetItemInterface()->GetItemCount(400028, false) == 1 )
            {Menu->AddItem(5, "Quel'Zardarr V3", 417);}
	          Menu->AddItem(10, "[Main Menu]", 99);
            }
            break;

case 400:  //Avon The, Burner V1
{
        if(Plr->GetItemInterface()->GetItemCount(400011, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400011, 1);
	Item * pItem1 = objmgr.CreateItem(400017,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 401:  //Rux, The Terrible V1
{
        if(Plr->GetItemInterface()->GetItemCount(400012, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400012, 1);
	Item * pItem1 = objmgr.CreateItem(400018,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 402:  //Za'roc V1
{
        if(Plr->GetItemInterface()->GetItemCount(400013, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400013, 1);
	Item * pItem1 = objmgr.CreateItem(400019,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 403:  //Vulrais V1
{
        if(Plr->GetItemInterface()->GetItemCount(400014, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400014, 1);
	Item * pItem1 = objmgr.CreateItem(400020,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 404:  //Taeshalach V1
{
        if(Plr->GetItemInterface()->GetItemCount(400015, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400015, 1);
	Item * pItem1 = objmgr.CreateItem(400021,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 405:  //Quel'Zardarr V1
{
        if(Plr->GetItemInterface()->GetItemCount(400016, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400016, 1);
	Item * pItem1 = objmgr.CreateItem(400022,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 406:  //Avon The, Burner V2
{
        if(Plr->GetItemInterface()->GetItemCount(400017, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400017, 1);
	Item * pItem1 = objmgr.CreateItem(400023,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 407:  //Rux, The Terrible V2
{
        if(Plr->GetItemInterface()->GetItemCount(400018, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400018, 1);
	Item * pItem1 = objmgr.CreateItem(400024,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;

case 408:  //Za'roc V2
{
        if(Plr->GetItemInterface()->GetItemCount(400019, false)>=1)
        Plr->GetItemInterface()->RemoveItemAmt(400019, 1);
	Item * pItem1 = objmgr.CreateItem(400025,Plr);
	Plr->GetItemInterface()->AddItemToFreeSlot(pItem1);
	pItem1->SetUInt32Value(ITEM_FIELD_STACK_COUNT, 1); 
          }
            break;	


































































































































case 99: //main menu
		{
GossipMenu *Menu;
objmgr.CreateGossipMenuForPlayer(&Menu, pObject->GetGUID(), 1, Plr);
Menu->AddItem(5, "Weapon Scraps", 20);
Menu->AddItem(1, "Weapon Forge", 1);
if( Plr->GetItemInterface()->GetItemCount(400009, false) == 1 )
{Menu->AddItem(3, "Weapon Upgrades", 3);}
Menu->AddItem(2, "Armor Smith", 2);
if( Plr->GetItemInterface()->GetItemCount(400010, false) == 1 )
{Menu->AddItem(4, "Armor Upgrades", 4);}
Menu->AddItem(6, "Armor Scraps", 21);
if( Plr->GetItemInterface()->GetItemCount(400008, false) == 1 )
{Menu->AddItem(6, "Exchange", 500);}

Menu->SendTo(Plr);
}
break;

 }
 }

void Coin::GossipEnd(Object * pObject, Player* Plr)
{
	GossipScript::GossipEnd(pObject, Plr);
}

void SetupCoin(ScriptMgr * mgr)
{
	GossipScript * gs = (GossipScript*) new Coin();
    mgr->register_gossip_script(55551, gs);
}





